<template>
    <div id="app">
      <h1 class="animate__animated animate__pulse">智慧城市数据可视化大屏展示</h1>
      <div class="flex-container">
        <div class="side-container">
          <div class="chart-container animate__animated animate__glow">
            <PopulationDensity />
          </div>
          <div class="chart-container animate__animated animate__glow">
            <TrafficConvenience />
          </div>
          <div class="chart-container animate__animated animate__glow">
            <Infrastructure />
          </div>
        </div>
        <div class="map-container animate__animated animate__glow">
          <MapAnalysis />
        </div>
        <div class="side-container">
          <div class="chart-container animate__animated animate__glow">
            <CompetitionAnalysis />
          </div>
          <div class="chart-container animate__animated animate__glow">
            <RentAnalysis />
          </div>
          <div class="chart-container animate__animated animate__glow">
            <CustomerAnalysis />
          </div>
        </div>
      </div>
    </div>
  </template>
  
  <script>
  import 'animate.css';
  import { ElRow, ElCol } from 'element-plus';
  import PopulationDensity from '../../components/board/PopulationDensity.vue';
  import TrafficConvenience from '../../components/board/TrafficConvenience.vue';
  import Infrastructure from '../../components/board/Infrastructure.vue';
  import CompetitionAnalysis from '../../components/board/CompetitionAnalysis.vue';
  import RentAnalysis from '../../components/board/RentAnalysis.vue';
  import CustomerAnalysis from '../../components/board/CustomerAnalysis.vue';
  import MapAnalysis from '../../components/board/MapAnalysis.vue';
  
  export default {
    name: 'App',
    components: {
      PopulationDensity,
      TrafficConvenience,
      Infrastructure,
      CompetitionAnalysis,
      RentAnalysis,
      CustomerAnalysis,
      MapAnalysis,
      ElRow,
      ElCol
    }
  }
  </script>
  
  <style>
  #app {
    position: relative;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-align: center;
    color: #ffd700;
    background-color: #0a1a2a;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
  }
  
  .flex-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
  }
  
  .side-container {
    width: 23%;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
  }
  .chart-container {
    position: relative;
    background-color: #0d1b2a;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    color: #00d4ff;
    height: 25vh;
    margin: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(0, 212, 255, 0.5);
    box-shadow: 0 0 15px rgba(0, 212, 255, 0.5);
  }
  
  .chart-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, rgba(0, 212, 255, 0.1), transparent);
    animation: techEffect 4s infinite alternate;
  }
  
  @keyframes techEffect {
    0% {
      transform: scale(1);
      opacity: 0.5;
    }
    100% {
      transform: scale(1.1);
      opacity: 1;
    }
  }
  
  h1 {
    font-size: 2.5em;
    margin-bottom: 20px;
  }
  
  h3 {
    font-size: 1.5em;
    margin-bottom: 10px;
  }
  </style>
  